package com.xinchuang.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xinchuang.common.Result;
import com.xinchuang.entity.image.RecognitionTable;
import com.xinchuang.vo.RecognitionVo;
import fr.opensagres.xdocreport.core.XDocReportException;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;

public interface ReorganizeService {

    String autoCorrect(JSONObject jsonObject);

    String imgUpload(JSONObject jsonObject);

    String serImgList(JSONObject jsonObject);

    String othImgList();

    String pointCorrect(JSONObject jsonObject, HttpServletRequest request);

    String test(JSONObject jsonObject, HttpServletRequest request);

    String exportPrecision(JSONObject jsonObject, HttpServletRequest request);

    String precisionSave(JSONObject jsonObject, HttpServletRequest request);

    Result correctSave(JSONObject jsonObject, HttpServletRequest request);

    String correctList(JSONObject jsonObject);

    void autoRecognition(String userId, String imgId, JSONArray positions);

    Result updateRecognition(RecognitionTable recognitionTable);

    Result deleteRecognition(JSONObject jsonObject);

    Result deleteRecognitionAll(JSONObject jsonObject);

    Result exportMb(JSONObject jsonObject);

    Result mbSave(JSONObject jsonObject, HttpServletRequest request) throws IOException, XDocReportException;

    Result recognitionSave(RecognitionVo recognitionVo, HttpServletRequest request);

    Result subject(JSONObject jsonObject, HttpServletRequest request);

    Result subjectEdit(JSONObject jsonObject, HttpServletRequest request);

    String griddingEdit(JSONObject jsonObject);

    String typeList();

    String typeEdit(JSONObject jsonObject);

    String subList(JSONObject jsonObject);

    String subEdit(JSONObject jsonObject);

    String typeDelete(JSONObject jsonObject);

    String subDelete(JSONObject jsonObject);

    String subPlot(JSONObject jsonObject);

    String editMbFast(JSONObject jsonObject);

    String tarAttributeEditFast(JSONObject jsonObject);

    String upNodeFast(JSONObject jsonObject);

    String subAttributeEditFast(JSONObject jsonObject);

    String tarAttributeFast(JSONObject jsonObject);

    String subAttributeFast(JSONObject jsonObject);

    Result exportSubject(JSONObject jsonObject, HttpServletRequest request);

}
